接下來,規劃會員資料庫
在Pycharm的2022ironmanedwardbot專案下建立一個資料夾。
然後我們將其命名為models。
接著就在這資料夾內建立一個python檔案
名字就取名為User
就來開始在這定義用戶的模型。
要從extensions匯入db以及datetime的模組。
所以輸入以下:
from extensions import db
import datetime
class User(db.Model):
tablename = 'user'
id = db.Column(db.Integer, primary_key=True)
line_id = db.Column(db.String(50), unique=True).
display_name = db.Column(db.String(255))
picture_url = db.Column(db.String(255))
created_on = db.Column(db.DateTime, default=datetime.datetime.now())
==========
回到主程式app.py,將剛剛定義好的user model匯入進去,從models的user匯入User。
程式碼:
from models.user import User
在來要使用套件flask-migrate建立用戶資料表,可透過這套件來更新資料庫的架構,所以就需要安裝flask-migrate這套件,一樣是從Terminal來安裝。
進入Terminal 輸入:
pip install Flask-Migrate
完成安裝後,回到extensions.py
規劃從flask_migrate中匯入Migrate,並建立Migrate的物件,輸入程式碼:
from flask_migrate import Migrate
migrate = Migrate()
然後回到 app.py
在原本程式碼from extensions import db 添加匯入migrate,所以改成:
from extensions import db, migrate
再來添加:
migrate.init_app(app, db)
利用migrate.init方法將flask_app與db丟入進行初始化
接下來在Terminal 輸入flask db init 進行初始化。
跑完之後會在專案中建立出一個migrations的資料夾。
然後下指令flask db migrate後面加上備註初始化資料庫,所以輸入:
flask db migrate -m "Initial migration"
完成之後就可以在 versions的資料夾看到一個檔案,裡面就記錄了資料庫的版本,有升級與降級的程式碼。
最後輸入 flask db upgrade。
然後回到資料庫中,可以看到剛剛設定的資料表形式已經顯現在SQL中。
下一篇,開始利用資料庫存用戶資料